As speeds of operation have increased for various processing circuits, such as microprocessors that interface with DRAMs, the lines that carry the signals that switch at high speeds can begin to function as transmission lines. This has become of particular importance in a the operation of a motherboard having a processor in one integrated circuit and DRAMs in a memory stick. These are interconnected by a bus, a plurality of lines, on the motherboard. The bus speeds on the motherboard are now commonly 500 megahertz. At these speeds and line lengths, there are reflections at the terminations unless care is taken to prevent that. The typical answer is to terminate the line at a relatively low resistance such as 50, 75, or even 150 ohms that matches the transmission impedance of the line. A lower termination resistance causes higher the power consumption so the termination resistance is preferably the higher of the possible options. A variety of factors influence the transmission impedance so that it is not always feasible to have the higher resistance value.
The effectiveness of the termination is also based on the ability of the output impedance of the circuit generating the signal, an output buffer, and the termination resistance to match the transmission impedance. It is difficult to match the transmission impedance, output impedance, and termination resistance perfectly due to processing variations in the manufacturing processes, in temperature, and in power supply voltage. A solution to this has been to use impedance-programmable output buffers. Difficulties in implementing this have included complex communications between the output buffer and the controller thereof and requirement of external components that do not track the actual conditions.
Thus, there is a need for achieving impedance matching that overcomes or reduces one or more of these difficulties.